/*
Projectile represents a projectile fired from the player.
*/

#ifndef GUARD_Projectile_h
#define GUARD_Projectile_h

#include <GL/glut.h>
#include <vector>
#include "Collidable.h"
#include "Particle.h"
#include "MovableObject.h"

class Projectile : public MovableObject
{
private:
	static const int LIFETIME;
	static const int DROP_DELAY;
	int dropTime;
	int age;
	bool hasCollided;
	GLuint glowTexture;
	std::vector<Particle*> particleList;
public:
	Projectile();
	~Projectile();

	bool dead;

	void move(const std::vector<Collidable*>& plats);
	void draw();
};

#endif